package cn.itcalvin.sncoal.cth.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * 配置需要评分系统的指标明细-扩展
 */
@ApiModel(description="配置需要评分系统的指标明细-扩展")
@Data
@Table(name = "config_system_zb_details_ext")
public class ConfigSystemZbDetailsExt {
    /**
     * 主键
     */
    @Id
    @Column(name = "id")
    @GeneratedValue(generator = "JDBC")
    @ApiModelProperty(value="主键")
    @NotNull(message = "主键不能为null")
    private Long id;

    /**
     * 系统指标ID
     */
    @Column(name = "systemZbDetailsId")
    @ApiModelProperty(value="系统指标ID")
    @NotNull(message = "系统指标ID不能为null")
    private Long systemZbDetailsId;

    /**
     * 对应草料的CodeId
     */
    @Column(name = "systemZbDetailsCodeId")
    @ApiModelProperty(value="对应草料的CodeId")
    private String systemZbDetailsCodeId;

    /**
     * 属于某个矿的指标明细
     */
    @Column(name = "mineId")
    @ApiModelProperty(value="属于某个矿的指标明细")
    @NotNull(message = "属于某个矿的指标明细不能为null")
    private Long mineId;

    /**
     * 指标考核步骤
     */
    @Column(name = "zbDetailsFunction")
    @ApiModelProperty(value="指标考核步骤")
    private String zbDetailsFunction;

    /**
     * 指标考核是否具备自动化条件
     */
    @Column(name = "zbDetailsIsAuto")
    @ApiModelProperty(value="指标考核是否具备自动化条件")
    @NotNull(message = "指标考核是否具备自动化条件不能为null")
    private Boolean zbDetailsIsAuto;

    /**
     * 指标考核是否具备自动化计算方法
     */
    @Column(name = "zbDetailsIsAutoRemark")
    @ApiModelProperty(value="指标考核是否具备自动化计算方法")
    private String zbDetailsIsAutoRemark;

    /**
     * 是否删除
     */
    @Column(name = "isDelete")
    @ApiModelProperty(value="是否删除")
    @NotNull(message = "是否删除不能为null")
    private Boolean isDelete;
}